<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta content="en" name="language">
	<title>operator</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link media="screen" href="../docutils-api.css" type="text/css" rel="stylesheet">

</head>

<body>

<div class="banner">
<img src="../images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" />
<span class="title">GraphicsMagick</span>
<form action="http://www.google.com/search">
  <input type="hidden" name="domains" value="www.graphicsmagick.org" />
  <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" />
<span class="nowrap"><input type="text" name="q" size="25" maxlength="255" />&nbsp;<input type="submit" name="sa" value="Search" /></span>
</form>
</div>


<div class="navmenu">
<ul>
  <li><a href="../index.html">Home</a></li>
  <li><a href="../project.html">Project</a></li>
  <li><a href="../download.html">Download</a></li>
  <li><a href="../README.html">Install</a></li>
  <li><a href="../Hg.html">Source</a></li>
  <li><a href="../NEWS.html">News</a> </li>
  <li><a href="../utilities.html">Utilities</a></li>
  <li><a href="../programming.html">Programming</a></li>
  <li><a href="../reference.html">Reference</a></li>
</ul>
</div>

<main id="operator">
<h1 class="title">operator</h1>
<p class="subtitle" id="methods-to-apply-mathematic-or-boolean-operators-to-pixels">Methods to apply mathematic or boolean operators to pixels.</p>
<div class="contents topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
<li><p><a class="reference internal" href="#quantumoperatorimage" id="id3">QuantumOperatorImage</a></p></li>
<li><p><a class="reference internal" href="#quantumoperatorregionimage" id="id4">QuantumOperatorRegionImage</a></p></li>
</ul>
</div>
<section id="quantumoperatorimage">
<h1><a class="toc-backref" href="#id3">QuantumOperatorImage</a></h1>
<section id="synopsis">
<h2>Synopsis</h2>
<pre class="literal-block">MagickPassFail QuantumOperatorImage( <a class="reference external" href="../api/types.html#image">Image</a> *image, <a class="reference external" href="../api/types.html#channeltype">ChannelType</a> channel,
                                     QuantumOperator operator, double rvalue );</pre>
</section>
<section id="description">
<h2>Description</h2>
<p>QuantumOperatorImage() performs the requested arithmetic,
bitwise-logical, or value operation on the selected channels of
the entire image.  The AllChannels channel option operates on all
color channels whereas the GrayChannel channel option treats the
color channels as a grayscale intensity.</p>
<p>These operations are on the DirectClass pixels of the image and do not
update pixel indexes or colormap.</p>
<p>The format of the QuantumOperatorImage method is:</p>
<pre class="literal-block">MagickPassFail QuantumOperatorImage( <a class="reference external" href="../api/types.html#image">Image</a> *image, <a class="reference external" href="../api/types.html#channeltype">ChannelType</a> channel,
                                     QuantumOperator operator, double rvalue );</pre>
<dl class="simple">
<dt>image:</dt>
<dd><p>The image.</p>
</dd>
<dt>channel:</dt>
<dd><p>Channel to operate on (RedChannel, CyanChannel,
GreenChannel, MagentaChannel, BlueChannel, YellowChannel,
OpacityChannel, BlackChannel, MatteChannel, AllChannels,
GrayChannel).  The AllChannels type only updates color
channels.  The GrayChannel type treats the color channels
as if they represent an intensity.</p>
</dd>
<dt>quantum_operator:</dt>
<dd><p>Operator to use (AddQuantumOp, AndQuantumOp,
AssignQuantumOp, DepthQuantumOp, DivideQuantumOp, GammaQuantumOp,
LShiftQuantumOp, MultiplyQuantumOp,  NegateQuantumOp,
NoiseGaussianQuantumOp, NoiseImpulseQuantumOp,
NoiseLaplacianQuantumOp, NoiseMultiplicativeQuantumOp,
NoisePoissonQuantumOp, NoiseRandomQuantumOp, NoiseUniformQuantumOp,
OrQuantumOp, RShiftQuantumOp, SubtractQuantumOp,
ThresholdBlackQuantumOp, ThresholdQuantumOp, ThresholdWhiteQuantumOp,
ThresholdBlackNegateQuantumOp, ThresholdWhiteNegateQuantumOp,
XorQuantumOp).</p>
</dd>
<dt>rvalue:</dt>
<dd><p>Operator argument.</p>
</dd>
<dt>exception:</dt>
<dd><p>Updated with error description.</p>
</dd>
</dl>
</section>
</section>
<section id="quantumoperatorregionimage">
<h1><a class="toc-backref" href="#id4">QuantumOperatorRegionImage</a></h1>
<section id="id1">
<h2>Synopsis</h2>
<pre class="literal-block">MagickPassFail QuantumOperatorRegionImage( <a class="reference external" href="../api/types.html#image">Image</a> *image, long x, long y,
                                           unsigned long columns, unsigned long rows,
                                           <a class="reference external" href="../api/types.html#channeltype">ChannelType</a> channel,
                                           QuantumOperator quantum_operator, double rvalue );</pre>
</section>
<section id="id2">
<h2>Description</h2>
<p>QuantumOperatorRegionImage() performs the requested arithmetic,
bitwise-logical, or value operation on the selected channels of
the image over the specified region. The AllChannels channel option
operates on all color channels whereas the GrayChannel channel option
treats the color channels as a grayscale intensity.</p>
<p>These operations are on the DirectClass pixels of the image and do not
update pixel indexes or colormap.</p>
<p>The format of the QuantumOperatorRegionImage method is:</p>
<pre class="literal-block">MagickPassFail QuantumOperatorRegionImage( <a class="reference external" href="../api/types.html#image">Image</a> *image, long x, long y,
                                           unsigned long columns, unsigned long rows,
                                           <a class="reference external" href="../api/types.html#channeltype">ChannelType</a> channel,
                                           QuantumOperator quantum_operator, double rvalue );</pre>
<dl class="simple">
<dt>image:</dt>
<dd><p>The image.</p>
</dd>
<dt>channel:</dt>
<dd><p>Channel to operate on (RedChannel, CyanChannel,
GreenChannel, MagentaChannel, BlueChannel, YellowChannel,
OpacityChannel, BlackChannel, MatteChannel, AllChannels,
GrayChannel).  The AllChannels type only updates color
channels.  The GrayChannel type treats the color channels
as if they represent an intensity.</p>
</dd>
<dt>x:</dt>
<dd><p>Ordinate of left row of region.</p>
</dd>
<dt>y:</dt>
<dd><p>Ordinate of top column of region.</p>
</dd>
<dt>columns:</dt>
<dd><p>Width of region.</p>
</dd>
<dt>rows:</dt>
<dd><p>Height of region.</p>
</dd>
<dt>quantum_operator:</dt>
<dd><p>Operator to use (AddQuantumOp,AndQuantumOp,
AssignQuantumOp, DepthQuantumOp, DivideQuantumOp, GammaQuantumOp,
LShiftQuantumOp, MultiplyQuantumOp,  NegateQuantumOp,
NoiseGaussianQuantumOp, NoiseImpulseQuantumOp,
NoiseLaplacianQuantumOp, NoiseMultiplicativeQuantumOp,
NoisePoissonQuantumOp, NoiseRandomQuantumOp, NoiseUniformQuantumOp,
OrQuantumOp, RShiftQuantumOp, SubtractQuantumOp,
ThresholdBlackQuantumOp, ThresholdQuantumOp, ThresholdWhiteQuantumOp,
XorQuantumOp).</p>
</dd>
<dt>rvalue:</dt>
<dd><p>Operator argument.</p>
</dd>
<dt>exception:</dt>
<dd><p>Updated with error description.</p>
</dd>
</dl>
</section>
</section>
</main>


<hr class="docutils">
<div class="document">
    <p><a href="../Copyright.html">Copyright</a> © GraphicsMagick Group 2002-2025<!--SPONSOR_LOGO--></p>
</div>

</main>
</body>
</html>
